package object4.package9;
//对象比较方法equals,比较两个对象是否相等
//==,针对内置类型,是比较相等
//对于引用类型,是比较两个引用是否指向同一个对象(引用内部存储的地址)
public class Test {
    public static void main(String[] args) {
//        String s1 = "hello";
//        String s2 = "hello";
//        //针对以上的两个String,比较引用是相等的
//        System.out.println(s1 == s2);//false

//        String s1 = new String("hello");
//        String s2 = new String("hello");
        //比较两个引用的指向是否相同(这是引用类型,与上面的不同)
//        System.out.println(s1 == s2);//false
//        //比较内容
//        System.out.println(s1.equals(s2));//true
        // String类重写了equals方法,比较的是内容

        Student s1 = new Student(1,"张三",90);
        Student s2 = new Student(1,"张三",90);
//        //对比的是指向
//        System.out.println(s1 == s2);//false
        System.out.println(s1.equals(s2));//对比的是指向
        //自定义的类 你没有重写equals方法 因此用的就是Object的equals方法，默认就是比较引用的
        //重写equals方法

    }
}
